<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{position: absolute;}
        .circleDiv{border-radius: 50%;text-align: center;line-height: 100px;}
    </style>
</head>
<body>
    <button class="circle">创建圆</button>
    <button class="rect">创建矩形</button>

    <script>   
        // 基础类 公共类  
        // 由于创建圆 或 矩形时 位置 大小 颜色 等都是随机的
        // 避免 圆 写一次方法  矩形写一次方法
        class Base{
            // 随机位置 大小 
            randomNum( min , max ){
                return Math.floor(Math.random() * (max - min + 1) + min)
            }
            // 背景色 或 内容颜色
            bgColor (){
                return "#" + Math.random().toString(16).slice(2,8)
            }
            // 内容
            con (){
                return "这是内容"
            }
        }

        class Cirlce extends Base{
            constructor(){
                super()
                // 初始化
                this.init()
            }
            // 初始化
            init(){
                // 创建元素
                this.createDiv()
            }

            createDiv(){
                var div = document.createElement("div");
                div.style.width = div.style.height = this.randomNum( 100 , 300 ) + "px"
                div.style.background = this.bgColor();
                div.style.left = this.randomNum(0 , 1000) +"px"
                div.style.top = this.randomNum(40 , 400) + "px"
                div.className = "circleDiv"
                div.innerHTML = this.con()
                document.body.appendChild(div)
            }
        }
        var circle = document.querySelector(".circle");
        circle.addEventListener("click" , () => new Cirlce() )

    </script>
</body>
</html>